FEXP Solver  1.0.0.0
CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type > Class Template Reference

Server of the hybrid-parellel FEXp solver. More...

#include <FEXPNetworkServer.h>

Inheritance diagram for CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >:
Collaboration diagram for CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >:

Public Member Functions

virtual ~CFEXPNetServer ()
 
virtual void Run () override
 It starts the server process. More...
 
virtual void Close () override
 It closes the server process. More...
 
- Public Member Functions inherited from ICFEXPNetNodeConnection
 ICFEXPNetNodeConnection (size_t node_id, std::string server_ip, size_t port)
 
virtual ~ICFEXPNetNodeConnection ()
 
virtual size_t GetId () const override
 
virtual void SetId (size_t id) override
 
std::string GetServerNodeIP ()
 
size_t GetCommPort ()
 
- Public Member Functions inherited from ICFEXPNetBase
virtual ~ICFEXPNetBase ()
 

Static Public Member Functions

static Ptr< CFEXPNetServerGetInstance (std::string server_ip, size_t port, Ptr< ICFEXPDataModelContIntf > model, Ptr< ICFEXPResultExport > exporter, Ptr< ICFEXPTransferAnalyzer > trans_analyzer)
 

Protected Member Functions

 CFEXPNetServer (std::string server_ip, size_t port, Ptr< ICFEXPDataModelContIntf > model, Ptr< ICFEXPResultExport > exporter, Ptr< ICFEXPTransferAnalyzer > trans_analyzer)
 
void invoke_close ()
 
- Protected Member Functions inherited from ICFEXPNetNodeConnection
template<typename TInp , typename TFunc >
std::function< TFunc()> get_thread_functor (std::function< TFunc(TInp)> thread_fce, std::function< TInp()> input)
 

Static Protected Attributes

static Ptr< CFEXPNetServerSERVER_INSTANCE
 
- Static Protected Attributes inherited from CFEXPNetWinErrors
static std::map< int, const std::string > CONNECTION_ERRORS_1
 
static std::map< int, const std::string > CONNECTION_ERRORS_2
 
static std::map< int, const std::string > CONNECTION_ERRORS_3
 
static std::map< int, const std::string > CONNECTION_ERRORS_4
 
static std::map< int, const std::string > CONNECTION_ERRORS_5
 

Additional Inherited Members

- Protected Attributes inherited from ICFEXPNetNodeConnection
std::atomic_bool _connection_start
 

Detailed Description

template<typename TTClientRunner, typename TClientThread, typename Tbarrier>
class CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >

Server of the hybrid-parellel FEXp solver.

Constructor & Destructor Documentation

◆ ~CFEXPNetServer()

template<typename TTClientRunner , typename TClientThread , typename Tbarrier >
CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >::~CFEXPNetServer ( )
virtual

◆ CFEXPNetServer()

template<typename TTClientRunner , typename TClientThread , typename Tbarrier >
CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >::CFEXPNetServer ( std::string  server_ip,
size_t  port,
Ptr< ICFEXPDataModelContIntf model,
Ptr< ICFEXPResultExport exporter,
Ptr< ICFEXPTransferAnalyzer trans_analyzer 
)
protected

Member Function Documentation

◆ Close()

template<typename TTClientRunner , typename TClientThread , typename Tbarrier >
void CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >::Close ( )
overridevirtual

It closes the server process.

Implements ICFEXPNetNodeConnection.

◆ GetInstance()

template<typename TTClientRunner , typename TClientThread , typename Tbarrier >
static Ptr<CFEXPNetServer> CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >::GetInstance ( std::string  server_ip,
size_t  port,
Ptr< ICFEXPDataModelContIntf model,
Ptr< ICFEXPResultExport exporter,
Ptr< ICFEXPTransferAnalyzer trans_analyzer 
)
inlinestatic

◆ invoke_close()

template<typename TTClientRunner , typename TClientThread , typename Tbarrier >
void CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >::invoke_close ( )
protected

◆ Run()

template<typename TTClientRunner , typename TClientThread , typename Tbarrier >
void CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >::Run ( )
overridevirtual

It starts the server process.

Implements ICFEXPNetNodeConnection.

Member Data Documentation

◆ SERVER_INSTANCE

template<typename TTClientRunner , typename TClientThread , typename Tbarrier >
Ptr<CFEXPNetServer> CFEXPNetServer< TTClientRunner, TClientThread, Tbarrier, typename std::enable_if< std::is_base_of< ICFEXPThreadBase, TClientThread >::value &&std::is_base_of< ICFEXPSynchrThreadBarrier, Tbarrier >::value >::type >::SERVER_INSTANCE
staticprotected

The documentation for this class was generated from the following file: